A hash function is a function that can be used to map digital data of arbitrary size to digital data of fixed size. Hash functions can be used for many purposes, such as to accelerate table or database look-up by detecting duplicated records in a large file. Hash functions are also used in blockchains. Blockchains are verifiable permanent ledgers constructed one block at a time with a proof-of-work seal (hash) affixed to each block that validates that block. In any blockchain, the hash of the previous block is included in the current block, and therefore by recursion the current hash also validates all previous blocks back to the original genesis block. Inserting a hash into a blockchain permanently records that hash and acts as a notary verifying the timestamped proof of existence of the hashed data at the moment in time that the block is added to the chain. Future blocks add a layer of protection from a chain re-organization and therefore add certainty that no changes can be made to blocks earlier in the chain.